﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CaltechSoft.Service.DBCommand
{

    [System.Web.Mvc.Bind(Exclude = "CreatedBy,CreatedDate,UpdatedDate,UpdatedBy")]
    public class BaseModel
    {
        public int Id { get; set; }

        public string CreatedBy { get; set; }
        public DateTime? CreatedDate { get; set; }

        public DateTime? UpdatedDate { get; set; }
        public string UpdatedBy { get; set; }
    }

    public class CreateNewCertificateCommand : BaseModel
    {
        public int? CertificateId { get; set; }
        public TransactionCustomerModel Customer { get; set; }
        public string CertificateNo { get; set; }
        public string WorkOrderNo { get; set; }
        public string Manufacturer { get; set; }
        public string Description { get; set; }
        public DateTime? CalibrationDate { get; set; }
        public string ModelNumber { get; set; }
        public DateTime? NextDueDate { get; set; }
        public string SerialNumber { get; set; }
        public int? ConditionReceivedId { get; set; }
        public int? ConditionReturnedId { get; set; }
        public string AssetNumber { get; set; }
        public string PoNumber { get; set; }
        public string Procedure { get; set; }
        public string Temperature { get; set; }
        public string RelativeHumidity { get; set; }
        public string Technician { get; set; }
        public string CertifiedBy { get; set; }
        public string CalibrationCycle { get; set; }
        public string Inspector { get; set; }
        public string Remarks { get; set; }
        public string ApprovedBy { get; set; }

        public IEnumerable<StandardModel> Standards { get; set; }
    }

    public class TransactionCustomerModel : BaseModel
    {
        public string Name { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
    }

    public class StandardModel : BaseModel
    {
        public int? CertificateStandardId { get; set; }
        public string StandardNo { get; set; }
        public string Manufacturer { get; set; }
        public string ModelNumber { get; set; }
        public DateTime? DueDate { get; set; }
        public string TestReportNumber { get; set; }
        public string SerialNumber { get; set; }
        public string Description { get; set; }
        public string TechnicianName { get; set; }
    }

    public class TransactionListItemModel : BaseModel
    {
        public string Name { get; set; }
    }
}
